
//*****************************************************************************
//Validate Password
//*****************************************************************************
function validatePassword(id)
{
    password = $('#'+id).val();
    exprName = /^.{6,10}$/;
    if (exprName.test(password))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Le mot de passe doit faire de 6 à 10 caractères.');
        return false;
    }
}


//*****************************************************************************
//Validate Confirmation
//*****************************************************************************
function validateConfirmation(idPassword, idConfirmation)
{
    password = $('#'+idPassword).val();
    confirmation = $('#'+idConfirmation).val();
    
    if (password == confirmation)
    {
        $('#'+idConfirmation).removeClass('wrongValue');
        $('#'+idConfirmation+'Error').html('');
        return true;
    }
    else
    {
        $('#'+idConfirmation).addClass('wrongValue');
        $('#'+idConfirmation+'Error').html('La confirmation est différente du mot de passe.');
        return false;
    }
}

//*****************************************************************************
//Validate Emptyness
//*****************************************************************************
function validateEmptyField(id)
{
    field = $('#'+id).val();
    exprName = /^.+$/;
    if (exprName.test(field))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Ce champ doit être renseigné.');
        return false;
    }
}

//*****************************************************************************
//Validate Phone
//*****************************************************************************
function validatePhone(id)
{
    phone = $('#'+id).val();
    exprPhone = /^[0-9]{10}$/;
    if (exprPhone.test(phone))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Le numéro de téléphone doit être composé de 10 chiffres.');
        return false;
    }
}

//*****************************************************************************
//Validate Postal Code
//*****************************************************************************
function validatePostalCode(id)
{
    postal = $('#'+id).val();
    exprPostal = /^[0-9]{5}$/;
    if (exprPostal.test(postal))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Le code postal doit être composé de 5 chiffres.');
        return false;
    }
}

//*****************************************************************************
//Validate Name
//*****************************************************************************
function validateName(id)
{
    name = $('#'+id).val();
    exprName = /^[a-zA-Z]+$/;
    if (exprName.test(name))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Le nom ne peut pas comporter de chiffres.');
        return false;
    }
}

//*****************************************************************************
//Validate Firstname
//*****************************************************************************
function validateFirstname(id)
{
    firstname = $('#'+id).val();
    exprFirstname = /^[a-zA-Z]+$/;
    if (exprFirstname.test(firstname))
    {
        $('#'+id).removeClass('wrongValue');
        $('#'+id+'Error').html('');
        return true;
    }
    else
    {
        $('#'+id).addClass('wrongValue');
        $('#'+id+'Error').html('Le prénom ne peut pas comporter de chiffres.');
        return false;
    }
}


//*****************************************************************************
//Validate Form
//*****************************************************************************
function validate()
{
    res = true;
    res = validateEmptyField('email') && res;
    res = validatePassword('password') && res;
    res = validateConfirmation('password','confirmation') && res;
    res = validateName('name') && res;
    res = validateFirstname('firstname') && res;
    res = validateEmptyField('address') && res;    
    res = validatePostalCode('postal') && res;
    res = validateEmptyField('city') && res;    
    res = validatePhone('phone') && res;
	
    if(!$('#deliveryAdress').is(':checked'))
    {
        res = validateName('nameDelivery') && res;
        res = validateFirstname('firstnameDelivery') && res;
        res = validateEmptyField('addressDelivery') && res;    
        res = validatePostalCode('postalDelivery') && res;
        res = validateEmptyField('cityDelivery') && res;    
        res = validatePhone('phoneDelivery') && res;
    }

    return res;
}


//*****************************************************************************
//JQuery main entry point
//*****************************************************************************
/*$(document).ready(function() {
    //Do nothing
});*/


function switchDeliveryForm() {
    $('#deliveryForm').attr("disabled", $('#deliveryAdress').is(':checked'));
    
    $('#phoneDelivery').val('');
    $('#phoneDelivery').removeClass('wrongValue');
    $('#phoneDeliveryError').html('');
    
    $('#nameDelivery').val('');    
    $('#nameDelivery').removeClass('wrongValue');
    $('#nameDeliveryError').html('');
    
    $('#firstnameDelivery').val('');
    $('#firstnameDelivery').removeClass('wrongValue');
    $('#firstnameDeliveryError').html('');
    
    $('#addressDelivery').val('');
    $('#addressDelivery').removeClass('wrongValue');
    $('#addressDeliveryError').html('');
    
    $('#postalDelivery').val('');
    $('#postalDelivery').removeClass('wrongValue');
    $('#postalDeliveryError').html('');
    
    $('#cityDelivery').val('');
    $('#cityDelivery').removeClass('wrongValue');
    $('#cityDeliveryError').html('');
    
    $('#phoneDelivery').val('');
    $('#phoneDelivery').removeClass('wrongValue');
    $('#phoneDeliveryError').html('');
    
}

function resetForm()
{
    $('#email').removeClass('wrongValue');
    $('#emailError').html('');
    $('#password').removeClass('wrongValue');
    $('#passwordError').html('');
    $('#confirmation').removeClass('wrongValue');
    $('#confirmationError').html('');
    
    $('#phone').removeClass('wrongValue');
    $('#phoneError').html('');
    $('#name').removeClass('wrongValue');
    $('#nameError').html('');
    $('#firstname').removeClass('wrongValue');
    $('#firstnameError').html('');
    $('#address').removeClass('wrongValue');
    $('#addressError').html('');
    $('#postal').removeClass('wrongValue');
    $('#postalError').html('');
    $('#city').removeClass('wrongValue');
    $('#cityError').html('');
    $('#phone').removeClass('wrongValue');
    $('#phoneError').html('');
    
    $('#phoneDelivery').removeClass('wrongValue');
    $('#phoneDeliveryError').html('');
    $('#nameDelivery').removeClass('wrongValue');
    $('#nameDeliveryError').html('');
    $('#firstnameDelivery').removeClass('wrongValue');
    $('#firstnameDeliveryError').html('');
    $('#addressDelivery').removeClass('wrongValue');
    $('#addressDeliveryError').html('');
    $('#postalDelivery').removeClass('wrongValue');
    $('#postalDeliveryError').html('');
    $('#cityDelivery').removeClass('wrongValue');
    $('#cityDeliveryError').html('');
    $('#phoneDelivery').removeClass('wrongValue');
    $('#phoneDeliveryError').html('');
    
    
    return true;
    
}

function addUser(customer, customerBis)
{
	var customerJson = jQuery.parseJSON (decodeURIComponent(customer));
	var customerBisJson;

		
	if(customerBis == '') {
		customerBisJson = null;
	} else {
		customerBisJson = jQuery.parseJSON (decodeURIComponent(customerBis));
	}
	
	
	jQuery.ajax({
		type: 'POST',
		url: 'pages/controller/ajax/addUser.php',
		data: {
			customer: customerJson,
			customerBis: customerBisJson
		},
		
		success: function(data, textStatus, jqXHR) {
			displayMsg("Utilisateur créé", 3000, false);
			setTimeout(function() {
			  window.location.href = "index.php?page=account";
			}, 3000);
		},
		
		error: function(jqXHR, textStatus, errorThrown) {
			jsonValue = jQuery.parseJSON( jqXHR.responseText );
			alert(jsonValue);
			alert(errorThrown);
			displayMsg("Impossible de creer l'utilisateur: Une erreur est survenue.", 5000, true);
		}
	});
}